package com.chijun.mform.create.mode;
import com.chijun.mform.FormBuilder;
import com.example.ccj.u.sqlite.TableField;
import com.example.ccj.u.sqlite.TableName;

@TableName(FormBuilder.TABLE_FORM_NAME)
public class Form {
    public static final int SAVE_MODEL_POSITION_LOCAL = 0;//表单模型数据保存位置，本地
    public static final int SAVE_MODEL_POSITION_SERVER = 1;//表单模型保存位置，服务器


    public static final int VISIBLE_STATUS_ORGANIZATION = 0;//表单可见状态，创建人所在组织可见
    public static final int VISIBLE_STATUS_SELF = 1;//表单可见状态，自己可见
    public static final int VISIBLE_STATUS_ALL = 2;//表单可见状态，所有人可见



    public Form(){}

    @TableField(isKey = true)
    public long id;             //编号
    public int saveModelPosition = SAVE_MODEL_POSITION_LOCAL;        //存储类型，表示该表单时存储在网络还是本地。 0：代表本地表单  1：代表网络表单
    public int formVisibleStatus = VISIBLE_STATUS_ALL; //表单可见状态， 表示该表单对于其他人员的可见性。 0：代表只有本单位人员可见  1：代表只有本人可见，2：代表全部使用该软件的人员可见。

    @TableField(length = 255)
    public String name;         //表名
    public String notes;        //备注
    public int icon;            //图标
    public int type;            //类型  表单的类型是数据表单还是流程表单，数据表单不配置流程。随时可以提交
    public int groupId;         //分组
    public boolean isPublic;    //是否公共表单，该表单是否所有人可见。
    public long adminId;        //管理员Id
    public int filledBy;        //填表人类型
    public boolean isNew;       //是否最新版本的表
    public long oldId;       //最早的表单id


    @Override
    public String toString() {
        return "Form{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", notes='" + notes + '\'' +
                ", icon=" + icon +
                ", type=" + type +
                ", groupId=" + groupId +
                ", isPublic=" + isPublic +
                ", adminId=" + adminId +
                ", filledBy=" + filledBy +
                ", isNew=" + isNew +
                ", oldId=" + oldId +
                '}';
    }
}
